package cn.orangelite.ai.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.orangelite.common.core.annotation.Excel;
import cn.orangelite.common.core.web.domain.BaseEntity;

/**
 * gptkey
 对象 ai_gpt_key
 *
 * @author dongfaqing
 * @date 2024-01-16
 */
public class AiGptKey extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** key */
    @Excel(name = "key")
    private String key;

    /** 使用次数 */
    @Excel(name = "使用次数")
    private Long useNumber;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 状态 0 启用 1禁用 */
    @Excel(name = "状态 0 启用 1禁用")
    private Long state;

    /** key类型 3-gpt3.5 4-gpt4 */
    @Excel(name = "key类型 3-gpt3.5 4-gpt4")
    private Integer type;

    /** 数据版本（默认为0，每次编辑+1） */
    @Excel(name = "数据版本", readConverterExp = "默=认为0，每次编辑+1")
    private Long dataVersion;

    /** 创建人编号（默认为0） */
    @Excel(name = "创建人编号", readConverterExp = "默=认为0")
    private Long creator;

    /** 操作人编号（默认为0） */
    @Excel(name = "操作人编号", readConverterExp = "默=认为0")
    private Long operator;

    /** 操作时间（每次更新时自动更新） */
    @Excel(name = "操作时间", readConverterExp = "每=次更新时自动更新")
    private Date operateTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setKey(String key)
    {
        this.key = key;
    }

    public String getKey()
    {
        return key;
    }
    public void setUseNumber(Long useNumber)
    {
        this.useNumber = useNumber;
    }

    public Long getUseNumber()
    {
        return useNumber;
    }
    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }
    public void setState(Long state)
    {
        this.state = state;
    }

    public Long getState()
    {
        return state;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setDataVersion(Long dataVersion)
    {
        this.dataVersion = dataVersion;
    }

    public Long getDataVersion()
    {
        return dataVersion;
    }
    public void setCreator(Long creator)
    {
        this.creator = creator;
    }

    public Long getCreator()
    {
        return creator;
    }
    public void setOperator(Long operator)
    {
        this.operator = operator;
    }

    public Long getOperator()
    {
        return operator;
    }
    public void setOperateTime(Date operateTime)
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime()
    {
        return operateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("key", getKey())
                .append("useNumber", getUseNumber())
                .append("sort", getSort())
                .append("state", getState())
                .append("type", getType())
                .append("dataVersion", getDataVersion())
                .append("creator", getCreator())
                .append("createTime", getCreateTime())
                .append("operator", getOperator())
                .append("operateTime", getOperateTime())
                .toString();
    }
}
